package com.bean.tool;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 刀具
 *
 * @author Administrator sangjiexun
 * <p>
 * 请求：
 * <bcd><req>yes</req><auto>yes</auto><st>nc1</st><time>100</time><sub>tool</s
 * ub></bcd>\n
 * 请求说明：
 * 获取刀具信息以字段<sub>tool</sub>标识
 * 应答：
 * <bcd><sub>tool</sub><auto>yes</auto><time>100</time><c4>02</c4><tool>
 * 2;901;  9;  0.000;  0.000;180.000;  0.000;  0.000;Detect1;  0.000;  0.000;
 * 0.000;</tool></bcd>\n
 * 应答说明：
 */

/**
 * 描述 用于读机床中某个位置上的刀具数据。
 * 支持自动更新 是
 * 请求参数  <pos> 位置，格式为：字符串表示的 10 进制整数，数控描述 用于读机床中某个位置上的刀具数据。
 * 支持自动更新 是
 * 请求参数  <pos> 位置，格式为：字符串表示的 10 进制整数，数控
 *
 * 例子 读 1 号刀库 1 号刀位刀具数据，客户端发送：
 * <record><req>yes</req><sub>tool</sub><pos>65537</pos></record>
 * 服务端应答：
 * <record><sub>tool</sub><pos>65537</pos><tool>0004KD10</
 * tool></record>
 * 此应答没有刀具数据，表示此时该位置无刀具。
 * 读 1 号刀库 2 号刀位刀具数据，客户端发送：
 * <record><req>yes</req><sub>tool</sub><pos>65538</pos></re
 * cord>
 * 服务端应答：
 * <record><sub>tool</sub><pos>65538</pos><tool>0182KD10;
 * NUM2;NAMMillFlat;STN1;SIZ0;MON0;DNO1;TYP1;EDP9;O
 * FX0.0;OFY0.0;OFZ0.0;LEX0.0;LEY0.0;LEZ99.914001;CUA0.0
 * ;MAA0.0;STR31.500000;CUR0.0;CLX0.0;CLY0.0;CLZ0.0;CC
 * A0.0;CMA0.0;CSR0.0;CCR0.0</tool></record>
 */
@Data
public class Tools {

    private String id;
    private String us;

    private List<String> toolsList = new ArrayList<>();
    /*机床状态*/
    private String cnc_state;
    /*刀具位置*/
    private String pos;
    /*NUM 刀具号*/
    private String num;
    /*NAM 刀具名*/
    private String nam;
    /*STN 姐妹刀具号*/
    private String stn;
    /*SIZ 超大刀具尺寸*/
    private String siz;
    /*MON 寿命监控方式（0-关闭；1-时间；2-磨损量；3-计件）*/
    private String mon;
    /*刀沿数据字段：*/
    /*DNO 刀沿号*/
    private String dno;
    /*TYP 类型*/
    private String typ;
    /*EDP 刀尖位置（0-9）*/
    private String edp;
    /*OFX 偏置 X*/
    private String ofx;
    /*OFY 偏置 Y*/
    private String ofy;
    /*OFZ 偏置 Z*/
    private String ofz;
    /*LEX 长度 X*/
    private String lex;
    /*LEY 长度 Y*/
    private String ley;
    /*LEZ 长度 Z*/
    private String lez;
    /*CUA 刀尖角*/
    private String cua;
    /*MAA 主偏角*/
    private String maa;
    /*STR 刀具半径*/
    private String str;
    /*CUR 刀尖半径*/
    private String cur;
    /*CLX 磨损长度 X*/
    private String clx;
    /*CLY 磨损长度 Y*/
    private String cly;
    /*CLZ 磨损长度 Z*/
    private String clz;
    /*CCA 磨损刀尖角*/
    private String cca;
    /*CMA 磨损主偏角*/
    private String cma;
    /*CSR 磨损刀具半径*/
    private String csr;
    /*CCR 磨损刀尖半径*/
    private String ccr;
    /*LIF 刀具寿命累计值（数值含义和单位取决于 MON 的值）*/
    private String lif;
    /*TAR 刀具寿命极限值（数值含义和单位取决于 MON 的值）*/
    private String tar;
    /*ALM 刀具寿命预警值（数值含义和单位取决于 MON 的值）*/
    private String alm;
}
